package cn.mitool.crypto;

/**
 * 模式
 *
 * <p></p>
 * 加密算法模式，是用来描述加密算法（此处特指分组密码，不包括流密码，）在加密时对明文分组的模式，它代表了不同的分组方式
 * @see <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#Cipher"> Cipher章节</a>
 *
 * @author dragon
 * @version 1.0
 * @date 2024/7/10 15:41
 */
public enum Mode {

    /**
     * 电码本模式
     */
    ECB,
    /**
     * 密码分组链接模式
     */
    CBC,
    /**
     * 计算器模式
     */
    CTR,
    /**
     * 密码反馈模式
     */
    CFB,
    /**
     * 输出反馈模式
     */
    OFB,
    /**
     * 加盐计数器模式
     */
    GCM,
    /**
     * XEX-Based Tweaked CodeBook
     */
    XTS,
    /**
     * Cipher Text Stealing
     */
    CTS,
    /**
     * Propagating Cipher Block
     */
    PCBC

}
